import request from '@/config/axios'

// 记账企业信息 VO
export interface AccountingCompaniesVO {
  id: number // 序号
  recordCode: string // 档案编码
  economicZone: string // 所属经济城
  taxOffice: string // 税务所
  registeredCapital: number // 注册资金
  operationPeriod: string // 经营期限
  bankAccount: string // 开户账号
  legalPersonName: string // 法人姓名
  legalPersonPhone: string // 法人电话号码
  companyContact: string // 企业联系人
  contactPhone: string // 企业联系电话
  investmentManager: string // 招商负责人
  referrer: string // 介绍人
  companyName: string // 企业名称
  taxpayerType: string // 纳税人属性
  taxSupervisor: string // 专管员
  registeredAddress: string // 注册地址
  companyEmail: string // 企业邮箱
  supervisor: string // 监事
  entrustStartDate: string // 委托开始时间(格式:YYYY-MM)
  accountingManager: string // 记账负责人
  unifiedSocialCreditCode: string // 统一社会信用代码
  registrationAuthority: string // 登记机关
  companyType: string // 公司类型
  establishmentDate: Date // 成立日期
  bankName: string // 开户银行
  legalPersonId: string // 法人身份证号
  entrustEndDate: string // 委托结束时间(格式:YYYY-MM)
  onlineFinanceManager: string // 网厅财务负责人
  businessScope: string // 经营范围
  remarks: string // 备注
  entrustContent: string // 委托内容
  simplified: number // 是否为简化企业
  keyEnterprise: number // 是否为重点企业
  monthlyFee: number // 月服务费
  includeAccounting: number // 是否记账费开票
  invoiceRemark: string // 开票备注
  paymentCompany: string // 收款公司名称
  creditRating: string // 企业信用等级
  creatorName: string // 创建者
  updaterName: string // 更新者
  entrustStartYear: number
  entrustStartMonth: number
  entrustEndYear: number
  entrustEndMonth: number
}

// 记账企业信息 API
export const AccountingCompaniesApi = {
  // 查询记账企业信息分页
  getAccountingCompaniesPage: async (params: any) => {
    return await request.get({ url: `/oa/accounting-companies/page`, params })
  },

  // 查询记账企业信息详情
  getAccountingCompanies: async (id: number) => {
    return await request.get({ url: `/oa/accounting-companies/get?id=` + id })
  },

  // 新增记账企业信息
  createAccountingCompanies: async (data: AccountingCompaniesVO) => {
    return await request.post({ url: `/oa/accounting-companies/create`, data })
  },

  // 修改记账企业信息
  updateAccountingCompanies: async (data: AccountingCompaniesVO) => {
    return await request.put({ url: `/oa/accounting-companies/update`, data })
  },

  // 删除记账企业信息
  deleteAccountingCompanies: async (id: number) => {
    return await request.delete({ url: `/oa/accounting-companies/delete?id=` + id })
  },

  // 导出记账企业信息 Excel
  exportAccountingCompanies: async (params) => {
    return await request.download({ url: `/oa/accounting-companies/export-excel`, params })
  },

  // 导入记账企业信息 Excel
  importAccountingCompanies: async (data: FormData) => {
    return await request.upload({ url: `/oa/accounting-companies/import-excel`, data })
  },

  // 下载导入模板
  downloadImportTemplate: async () => {
    return await request.download({ url: `/oa/accounting-companies/import-template` })
  },

  // 获取所有有效的企业列表
  getAllValidCompanies: async () => {
    return await request.get({ url: `/oa/accounting-companies/list` })
  },
}
